package com.pm.business.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.pm.common.annotation.Excel;
import com.pm.common.core.domain.BaseEntity;

import javax.validation.constraints.Max;

/**
 * 基本信息对象 compete_enterprise
 * 
 * @author zxl
 * @date 2022-05-07
 */
public class CompeteEnterprise extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 竞争单位ID */
    private Long enterpriseId;

    /** 单位名称 */
    @Excel(name = "单位名称")
    private String enterpriseName;

    /** 法人类别 */
    @Excel(name = "法人类别")
    private String legalPersonType;

    /** 法人代码 */
    @Excel(name = "法人代码")
    private String legalPersonNumber;

    /** 法人角色 */
    @Excel(name = "法人角色")
    private String legalPersonRole;

    /** 营业执照号码 */
    @Excel(name = "营业执照号码")
    private String businessNo;

    /** 营业执照失效日期（年-月-日） */
    @Excel(name = "营业执照失效日期", readConverterExp = "年=-月-日")
    private Date certificateExpiryDate;

    /** 法定代表人姓名 */
    @Excel(name = "法定代表人姓名")
    private String legalPersonName;

    /** 法人机构类别 */
    @Excel(name = "法人机构类别")
    private String legalPersonCategory;

    /** 法人机构行业代码 */
    @Excel(name = "法人机构行业代码")
    private String legalPersonCategoryNo;

    /** 资信等级 */
    @Excel(name = "资信等级")
    private String creditRate;

    /** 地区 */
    @Excel(name = "地区")
    private String region;

    /** 法人机构地址 */
    @Excel(name = "法人机构地址")
    private String legalPersonAddress;

    /** 注册地-省 */
    @Excel(name = "注册地-省")
    private String registerProvince;

    /** 注册地-市 */
    @Excel(name = "注册地-市")
    private String registerCity;

    /** 注册资本 */
    @Excel(name = "注册资本")
    private BigDecimal registerCapital;

    /** 注册资本币种 */
    @Excel(name = "注册资本币种")
    private String registerCapitalCurrency;

    /** 联系人 */
    @Excel(name = "联系人")
    private String contacts;

    /** 联系人电话 */
    @Excel(name = "联系人电话")
    private String contactsPhone;

    /** 联系人地址 */
    @Excel(name = "联系人地址")
    private String contactsAddress;

    /** 单位网址 */
    @Excel(name = "单位网址")
    private String website;

    /** 邮政编码 */
    @Excel(name = "邮政编码")
    private String postalCode;

    /** 法人业务状态 */
    @Excel(name = "法人业务状态")
    private String legalPersonStatus;

    private EnterpriseNumber enterpriseNumber;

    private List<CompeteEnterpriseHistoryProject> historyProjectList;
    private List<CompeteEnterpriseGrade> gradeList;

    private List<CompeteEnterpriseBadBehavior> badBehaviorList;

    private List<CompeteEnterpriseCertificate> certificateList;

    public void setEnterpriseId(Long enterpriseId) 
    {
        this.enterpriseId = enterpriseId;
    }

    public Long getEnterpriseId() 
    {
        return enterpriseId;
    }
    public void setEnterpriseName(String enterpriseName) 
    {
        this.enterpriseName = enterpriseName;
    }

    public String getEnterpriseName() 
    {
        return enterpriseName;
    }
    public void setLegalPersonType(String legalPersonType) 
    {
        this.legalPersonType = legalPersonType;
    }

    public String getLegalPersonType() 
    {
        return legalPersonType;
    }
    public void setLegalPersonNumber(String legalPersonNumber) 
    {
        this.legalPersonNumber = legalPersonNumber;
    }

    public String getLegalPersonNumber() 
    {
        return legalPersonNumber;
    }
    public void setLegalPersonRole(String legalPersonRole) 
    {
        this.legalPersonRole = legalPersonRole;
    }

    public String getLegalPersonRole() 
    {
        return legalPersonRole;
    }
    public void setBusinessNo(String businessNo) 
    {
        this.businessNo = businessNo;
    }

    public String getBusinessNo() 
    {
        return businessNo;
    }
    public void setCertificateExpiryDate(Date certificateExpiryDate) 
    {
        this.certificateExpiryDate = certificateExpiryDate;
    }

    public Date getCertificateExpiryDate() 
    {
        return certificateExpiryDate;
    }
    public void setLegalPersonName(String legalPersonName) 
    {
        this.legalPersonName = legalPersonName;
    }

    public String getLegalPersonName() 
    {
        return legalPersonName;
    }
    public void setLegalPersonCategory(String legalPersonCategory) 
    {
        this.legalPersonCategory = legalPersonCategory;
    }

    public String getLegalPersonCategory() 
    {
        return legalPersonCategory;
    }
    public void setLegalPersonCategoryNo(String legalPersonCategoryNo) 
    {
        this.legalPersonCategoryNo = legalPersonCategoryNo;
    }

    public String getLegalPersonCategoryNo() 
    {
        return legalPersonCategoryNo;
    }
    public void setCreditRate(String creditRate) 
    {
        this.creditRate = creditRate;
    }

    public String getCreditRate() 
    {
        return creditRate;
    }
    public void setRegion(String region) 
    {
        this.region = region;
    }

    public String getRegion() 
    {
        return region;
    }
    public void setLegalPersonAddress(String legalPersonAddress) 
    {
        this.legalPersonAddress = legalPersonAddress;
    }

    public String getLegalPersonAddress() 
    {
        return legalPersonAddress;
    }
    public void setRegisterProvince(String registerProvince) 
    {
        this.registerProvince = registerProvince;
    }

    public String getRegisterProvince() 
    {
        return registerProvince;
    }
    public void setRegisterCity(String registerCity) 
    {
        this.registerCity = registerCity;
    }

    public String getRegisterCity() 
    {
        return registerCity;
    }
    public void setRegisterCapital(BigDecimal registerCapital) 
    {
        this.registerCapital = registerCapital;
    }

    public BigDecimal getRegisterCapital() 
    {
        return registerCapital;
    }
    public void setRegisterCapitalCurrency(String registerCapitalCurrency) 
    {
        this.registerCapitalCurrency = registerCapitalCurrency;
    }

    public String getRegisterCapitalCurrency() 
    {
        return registerCapitalCurrency;
    }
    public void setContacts(String contacts) 
    {
        this.contacts = contacts;
    }

    public String getContacts() 
    {
        return contacts;
    }
    public void setContactsPhone(String contactsPhone) 
    {
        this.contactsPhone = contactsPhone;
    }

    public String getContactsPhone() 
    {
        return contactsPhone;
    }
    public void setContactsAddress(String contactsAddress) 
    {
        this.contactsAddress = contactsAddress;
    }

    public String getContactsAddress() 
    {
        return contactsAddress;
    }
    public void setWebsite(String website) 
    {
        this.website = website;
    }

    public String getWebsite() 
    {
        return website;
    }
    public void setPostalCode(String postalCode) 
    {
        this.postalCode = postalCode;
    }

    public String getPostalCode() 
    {
        return postalCode;
    }
    public void setLegalPersonStatus(String legalPersonStatus) 
    {
        this.legalPersonStatus = legalPersonStatus;
    }

    public String getLegalPersonStatus() 
    {
        return legalPersonStatus;
    }

    public EnterpriseNumber getEnterpriseNumber() {
        return enterpriseNumber;
    }

    public void setEnterpriseNumber(EnterpriseNumber enterpriseNumber) {
        this.enterpriseNumber = enterpriseNumber;
    }

    public List<CompeteEnterpriseHistoryProject> getHistoryProjectList() {
        return historyProjectList;
    }

    public void setHistoryProjectList(List<CompeteEnterpriseHistoryProject> historyProjectList) {
        this.historyProjectList = historyProjectList;
    }

    public List<CompeteEnterpriseBadBehavior> getBadBehaviorList() {
        return badBehaviorList;
    }

    public void setBadBehaviorList(List<CompeteEnterpriseBadBehavior> badBehaviorList) {
        this.badBehaviorList = badBehaviorList;
    }

    public List<CompeteEnterpriseCertificate> getCertificateList() {
        return certificateList;
    }

    public void setCertificateList(List<CompeteEnterpriseCertificate> certificateList) {
        this.certificateList = certificateList;
    }

    public List<CompeteEnterpriseGrade> getGradeList() {
        return gradeList;
    }

    public void setGradeList(List<CompeteEnterpriseGrade> gradeList) {
        this.gradeList = gradeList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("enterpriseId", getEnterpriseId())
            .append("enterpriseName", getEnterpriseName())
            .append("legalPersonType", getLegalPersonType())
            .append("legalPersonNumber", getLegalPersonNumber())
            .append("legalPersonRole", getLegalPersonRole())
            .append("businessNo", getBusinessNo())
            .append("certificateExpiryDate", getCertificateExpiryDate())
            .append("legalPersonName", getLegalPersonName())
            .append("legalPersonCategory", getLegalPersonCategory())
            .append("legalPersonCategoryNo", getLegalPersonCategoryNo())
            .append("creditRate", getCreditRate())
            .append("region", getRegion())
            .append("legalPersonAddress", getLegalPersonAddress())
            .append("registerProvince", getRegisterProvince())
            .append("registerCity", getRegisterCity())
            .append("registerCapital", getRegisterCapital())
            .append("registerCapitalCurrency", getRegisterCapitalCurrency())
            .append("contacts", getContacts())
            .append("contactsPhone", getContactsPhone())
            .append("contactsAddress", getContactsAddress())
            .append("website", getWebsite())
            .append("postalCode", getPostalCode())
            .append("legalPersonStatus", getLegalPersonStatus())
            .toString();
    }
}
